package org.dcm4chee.xds.infoset.v30.ws;

import static javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_MTOM_BINDING;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.ws.addressing.Action;
import javax.xml.ws.BindingType;

import org.dcm4chee.xds.infoset.v30.ObjectFactory;
import org.dcm4chee.xds.infoset.v30.ProvideAndRegisterDocumentSetRequestType;
import org.dcm4chee.xds.infoset.v30.RegistryResponseType;
import org.dcm4chee.xds.infoset.v30.RetrieveDocumentSetRequestType;
import org.dcm4chee.xds.infoset.v30.RetrieveDocumentSetResponseType;

/**
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.1.1-b03-
 * Generated source version: 2.1
 * 
 */
@WebService(name = "DocumentRepository_PortType", targetNamespace = "urn:ihe:iti:xds-b:2007")
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
@BindingType(value = SOAP12HTTP_MTOM_BINDING)
@XmlSeeAlso({
    ObjectFactory.class
})
public interface DocumentRepositoryPortType {


    /**
     * 
     * @param body
     * @return
     *     returns org.dcm4chee.xds.repo.ws.RegistryResponseType
     */
    @WebMethod(operationName = "DocumentRepository_ProvideAndRegisterDocumentSet-b", action = "urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b")
    @WebResult(name = "RegistryResponse", targetNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0", partName = "body")
    @Action(input = "urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b", output = "urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse")
    public RegistryResponseType documentRepositoryProvideAndRegisterDocumentSetB(
        @WebParam(name = "ProvideAndRegisterDocumentSetRequest", targetNamespace = "urn:ihe:iti:xds-b:2007", partName = "body")
        ProvideAndRegisterDocumentSetRequestType body);

    /**
     * 
     * @param body
     * @return
     *     returns org.dcm4chee.xds.repo.ws.RetrieveDocumentSetResponseType
     */
    @WebMethod(operationName = "DocumentRepository_RetrieveDocumentSet", action = "urn:ihe:iti:2007:RetrieveDocumentSet")
    @WebResult(name = "RetrieveDocumentSetResponse", targetNamespace = "urn:ihe:iti:xds-b:2007", partName = "body")
    @Action(input = "urn:ihe:iti:2007:RetrieveDocumentSet", output = "urn:ihe:iti:2007:RetrieveDocumentSetResponse")
    public RetrieveDocumentSetResponseType documentRepositoryRetrieveDocumentSet(
        @WebParam(name = "RetrieveDocumentSetRequest", targetNamespace = "urn:ihe:iti:xds-b:2007", partName = "body")
        RetrieveDocumentSetRequestType body);

}
